package com.golang.api.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.golang.api.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 活动对象 activity
 *
 * @date 2025-01-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class Activity extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 活动编码
     */
    @Excel(name = "活动编码")
    private String activityId;

    /**
     * 社群ID
     */
    @Excel(name = "社群ID")
    private String communityId;

    /**
     * 活动标题
     */
    @Excel(name = "活动标题")
    private String activityTitle;

    /**
     * 活动详情
     */
    @Excel(name = "活动详情")
    private String activityIntroduction;

    /**
     * 活动状态 0-未开放，1报名中，2已结束，3取消
     */
    @Excel(name = "活动状态 0-未开放，1报名中，2已结束，3取消")
    private Integer activityStatus;

    /**
     * 活动形式 0-线上，1线下，2混合
     */
    @Excel(name = "活动形式 0-线上，1线下，2混合")
    private Integer activityType;

    /**
     * 活动分类
     */
    @Excel(name = "活动分类")
    private Long activityClassification;

    /**
     * 经度
     */
    @Excel(name = "经度")
    private BigDecimal longitude;

    /**
     * 纬度
     */
    @Excel(name = "纬度")
    private BigDecimal latitude;

    /**
     * 地址
     */
    @Excel(name = "地址")
    private String activityAddress;

    /**
     * 报名回答问题
     */
    @Excel(name = "报名回答问题")
    private String question;

    /**
     * 主理人电话
     */
    @Excel(name = "主理人电话")
    private String managerPhone;

    /**
     * 主理人微信
     */
    @Excel(name = "主理人微信")
    private String managerWechat;

    /**
     * 主理人微信群链接图片
     */
    @Excel(name = "主理人微信群链接图片")
    private String managerWechatGroupPic;

    /**
     * 隐私性设置类型：1公开：所有人均可看到，均可报名
     * 2仅社群成员参加：所有人均可看到，仅社群成员才能报名
     */
    @Excel(name = "隐私性设置类型：1公开：所有人均可看到，均可报名2仅社群成员参加：所有人均可看到，仅社群成员才能报名")
    private Integer privacyType;

    /**
     * 创建活动用户Id
     */
    @Excel(name = "创建活动用户Id")
    private Long userId;

    /**
     * 活动开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "活动开始时间", width = 30, dateFormat = "yyyy-MM-dd hh:mm:ss")
    private LocalDateTime startTime;

    /**
     * 活动结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "活动结束时间", width = 30, dateFormat = "yyyy-MM-dd hh:mm:ss")
    private LocalDateTime endTime;


}
